/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package pe.gov.mtc.dgac.licencias.persistence;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.orm.ibatis.SqlMapClientTemplate;
import pe.gov.mtc.dgac.licencias.bean.ClientelicenciaTO;
import pe.gov.mtc.dgac.licencias.bean.LicenciaTO;
import pe.gov.mtc.dgac.licencias.exception.TransactionException;
import pe.gov.mtc.dgac.licencias.util.Page;

/**
 *
 * @author German
 */
public class ClientelicenciaImplDAO extends SqlMapClientTemplate implements ClientelicenciaDAO  {

    public List<LicenciaTO> listarLicencias() throws TransactionException {
         List<LicenciaTO> list=null;
         
      try{
          Map<String, Object> parmMap = new HashMap<String, Object>();
	  LicenciaTO lic=new LicenciaTO(0L);		
	  parmMap.put("pCodLic",lic.getCodLicencia()); 
          parmMap.put("pDescripcion",lic.getDescripcion()); 
         
          queryForObject("Clientelicencia.buscarLicencias", parmMap);
          list=(List<LicenciaTO>)parmMap.get("pResult");
          
      }catch(Exception e){
        e.printStackTrace();
	logger.error(e);
      }
       return list;
    }

    public Page buscarClientelicencia(ClientelicenciaTO clilic, int page, int pageSize) throws TransactionException {
          List<ClientelicenciaTO> list=null;
          int first = Page.getStartItemByPage(page, pageSize);
          int last = first + pageSize - 1;
          int totalElements=0;
      try{
          Map<String, Object> parmMap = new HashMap<String, Object>();
			
	  parmMap.put("pNumLic",clilic.getNumLic()); 
          parmMap.put("pTipoLic",clilic.getLicenciaTO().getCodLicencia()); 
          parmMap.put("pFecOtor",clilic.getSfechaOtorgamiento()); 
          parmMap.put("pNomClie",clilic.getClienteTO().getNombres()); 
          parmMap.put("pApePat",clilic.getClienteTO().getApellidoPat()); 
          parmMap.put("pApeMat",clilic.getClienteTO().getApellidoMat()); 
          parmMap.put("pFistElement",first); 
          parmMap.put("pLastElement",last); 
          
          queryForObject("Clientelicencia.buscarClientelicencias", parmMap);
          list=(List<ClientelicenciaTO>)parmMap.get("pResult");
          String totReg=(String) parmMap.get("pTotReg");
          totalElements=Integer.parseInt(totReg);
      }catch(Exception e){
        e.printStackTrace();
	logger.error(e);
      }
       return new Page(list,page,pageSize,totalElements);
    }

    public HashMap insertClientelicencia(ClientelicenciaTO clilic) throws TransactionException {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public HashMap updateClientelicencia(ClientelicenciaTO clilic) throws TransactionException {
        throw new UnsupportedOperationException("Not supported yet.");
    }

}
